03
02
01
01
03
02
01
02
06
06
01
02
02
05
06
12
OVERVIEW                *
    FONT123 is a font editor used to modi-
fy ASCII character sets for EGA and VGA   
adapters operating in text mode.          
                                          
    Characters are drawn on these adapters
by using an Nx8 grid, where N is the num- 
ber of ROWS of picture elements (pixels)  
used to depict a character and 8 is the   
number of COLUMNS. By using video routines
built into the computer, any customized   
character set can be used for text dis-   
play.  Changing the number of rows used to
display a character also changes the num- 
ber of lines of text which can be display-
ed on the screen. Both the EGA and VGA    
adapters can display characters up to 32  
pixels high. These adapters normally use  
one of the three pre-defined sets stored  
in read-only memory (ROM), which are ren- 
dered with grid sizes of 8x8, 14x8, and   
16x8 pixels.  On an VGA these values cor- 
respond to 50, 28, and 25 screen lines,   
respectively.                             
    FONT123 allows you to change this     
character grid size.  It also provides    
many other useful editing functions for   
creating your own customized text fonts.  
You can do simple line drawing and erasing
to create your own character sets "from   
scratch," or you can use one of the built-
in editing functions to easily modify any 
existing set.  Once you are satisfied with
the set you have designed, it can be saved
to a file and activated at any time from  
the DOS command line (or from within the  
editor).  You can even load several dif-  
ferent character sets into memory and     
switch between them.  With FONT123, you   
will no longer be forced to use the fonts 
stored in ROM.  Instead, you can create   
your own styles to enhance your screen    
displays and prevent eyestrain from squin-
ting at ill-formed characters.            
                                          
                                          
F2 - LOAD ROM FONT      *
    LOADS ONE OF THE THREE AVAILABLE ROM  
FONTS INTO THE EDITOR.                    
                                          
  The IBM PC ROM includes three character 
sets with grid sizes of 8x8, 14x8, and    
16x8 pixels.  After specifying which set  
to load, you will be asked if you wish to 
merge the selected character set with the 
character set already in the editor.  An- 
swering yes at this point will load only a
specified range of characters into the ed-
itor; all other characters will remain un-
changed.  This option is useful if you    
don't want to create a new character set  
from scratch, but would rather have a     
starting point for creating a new charac- 
ter set.                                  
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
F3 - LOAD FONT FILE     *
    LOADS A PREVIOUSLY SAVED FONT FILE    
INTO THE EDITOR.                          
                                          
    Once a font has been saved to a file, 
it can be re-read into the editor by using
this option.  After specifying the file to
load, you are prompted whether or not you 
want to merge the file with the font al-  
ready loaded in the editor.  Answering yes
will load only a specified range of char- 
acters into the editor, beginning at a    
user-specified starting point.  Otherwise,
the entire character set (characters with 
ASCII codes 0-255) will be loaded into the
editor. See also Data Entry under Help.   
F4 - SAVE FONT FILE     *
    SAVES THE CONTENTS OF THE EDITOR TO A 
FILE.                                     
                                          
    Pressing [F4] allows you to save the  
edit buffer to a file.  After selecting   
this option, you are asked to provide a   
filename where your font will be stored.  
If the file exists, you will be asked if  
you want to replace it.  For valid file-  
names, see the Data Entry heading under   
Help.                                     
                                          
                                          
                                          
                                          
F5 - INSTALL FONT       *
    INSTALLS THE EDITOR TO A VIDEO RAM    
CHARACTER TABLE.                          
                                          
    Installing a new font involves loading
a character table with the desired font   
information and then instructing the video
hardware to use this table.  On the VGA   
there are eight distinct tables for stor- 
ing text fonts; the EGA supports four     
tables.  After selecting this option, you 
will be asked which table you wish to     
load, using the character font stored in  
the editor.  Any table which has already  
been loaded will be marked by an asterisk 
(although you may overwrite the old font  
if you desire).  Any differences between  
the  editor font and the currently dis-   
played font will be seen immediately on   
the screen.  Also note that the number of 
screen lines will change if the editor's  
character height differs from the display-
ed character height.  You may also elect  
to load only a RANGE of characters, but   
ONLY IF the editor character size is equal
to the displayed character size. Any dis- 
played characters not falling within this 
range will be unaffected.  WARNING : In-  
stalling a character set which has not    
been fully defined will produce an unread-
able display. To recover from this event, 
press the key sequence [F2]-[2]-[ENTER]-  
[F5]-[0]-[1] (ignore the brackets and     
dashes); this will load and install the   
ROM 14x8 character font.                  
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
F6 - SWITCH TABLE       *
    SWITCHES TO AN ALTERNATE VIDEO RAM    
CHARACTER TABLE.                          
                                          
    After a character table has been load-
ed with a new font, it may be selected as 
the active (displayed) font by using this 
option.  The VGA supplies the user with   
eight character tables, while the EGA     
provides four.  The results of switching  
to a new character table will be seen     
immediately on the screen.  This program  
will NOT allow you to switch to a table   
which has not yet been loaded using the   
Install option [F5]. (However, the command
line -S option will allow you to switch to
ANY table).  Only those tables which have 
been loaded during the current editing    
session will be displayed for selection.  
Note that you can always switch to table  
0, since at least one font is always dis- 
played on the screen.                     
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
F7 - GOTO CHARACTER     *
    PROVIDES A QUICK METHOD FOR JUMPING TO
A SPECIFIC CHARACTER IN THE EDITOR.       
                                          
    This option provides an alternative   
way to jump to a specific character in the
editor.  Rather than using the normal     
editing keys to move to the desired char- 
acter, pressing [F7] will allow you to    
directly enter the character you wish to  
edit and position you there immediately.  
                                          
                                          
                                          
                                          
                                          
F8 - PREVIEW CHARACTER  *
    ALLOWS THE SIDE-BY-SIDE COMPARISON OF 
A DISPLAYED CHARACTER WITH ITS VERSION AS 
IT EXISTS IN THE EDITOR.                  
                                          
    Previewing a character is useful when 
you want to make small modifications to a 
character and see the results of your     
changes immediately.  Pressing [F8] will  
put you in preview mode, displaying the   
current editor character next to the cur- 
rently active (displayed) character with  
the same ASCII code.  Pressing [UP],      
[DOWN], [HOME], or [END] will position you
to the previous, next, first, or last     
character, respectively.  You cannot edit 
characters while in preview mode; it is   
intended only for side-by-side compari-   
sons.  WARNING : Previewing characters may
destroy any and all DISPLAYED characters  
above ASCII code 240 (the editor charac-  
ters with these codes are not affected);  
therefore, if you will be needing these   
characters later you must re-install them 
using the Install feature [F5].  Also note
that a brief screen flicker is normal when
previewing a character.                   
                                          
                                          
                                          
                                          
F9 - EDITING FUNCTIONS  *
     PROVIDES AN ASSORTMENT OF FUNCTIONS  
FOR MANIPULATING CHARACTERS IN THE EDITOR.
                                          
    FONT123 provides eight different func-
tions for making the design and modifica- 
tion of character sets easier.  Pressing  
[F9] will display a list of the functions,
one of which can be selected by entering a
number from 1 to 8.  A brief synopsis of  
each function is detailed below:          
                                          
(1) CLEAR -                               
    Sets or resets ALL bits in the spec-  
ified range of characters.  (Each bit     
represents 1 pixel used to render a char- 
acter).  For information on entering char-
acter ranges, see Data Entry under Help.  
                                          
(2) COMPLEMENT -                          
    Reverses the value of ALL bits in the 
specified range of characters, i.e. all   
set bits are reset (turned off) and vice  
versa.                                    
                                          
(3) COPY -                                
    Copies from SOURCE character to DESTI-
NATION character for a specified number of
characters.                               
                                          
(4) MIRROR -                              
    Mirrors all characters within a speci-
fied range either horizontally or verti-  
cally.                                    
                                          
(5) OR -                                  
    Performs a bitwise-or of all charac-  
ters within a specified range with the bit
pattern stored in a specified character.  
To use this function, draw a pattern in a 
character which you would like to "add" to
all characters within a given range (such 
as an underline  pattern).  Then use the  
OR function.  After this you can restore  
the character which existed at the OR     
pattern by using the RESTORE function (6).
                                          
(6) RESTORE -                             
    Restores a range of characters in the 
editor to their ORIGINALLY LOADED state.  
If the size of the character set in the   
editor has been changed, then only the    
ENTIRE character set may be restored.     
                                          
(7) ROTATE -                              
    Rotates a character pattern up, down, 
left, and right.  When this function is   
selected, you can rotate the current char-
acter to any desired position.  After     
completing this rotation, press [ENTER].  
If desired, you can replicate this iden-  
tical rotation for all characters within a
given range, or press [ESCAPE] to bypass  
this replication feature.                 
                                          
(8) SIZE -                                
    Permits changing the height of charac-
ters in the editor.  If a SMALLER size    
than the current editor character size is 
specified, then the excess bottom lines of
the editor character set are TRUNCATED. If
a LARGER size than the current editor     
character size is specified, then extra   
blank lines are ADDED to the bottom of the
characters in the editor.  Once this op-  
tion is utilized, then only the ALL option
of the RESTORE function (6) may be used to
restore characters in the editor.         
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
F10 - CONFIGURE PROGRAM *
    ALLOWS THE RECONFIGURATION OF PROGRAM 
OPTIONS SUCH AS COLORS, FILE PATHS, AND   
SPECIAL CHARACTERS.                       
                                          
    Many program options of FONT123 can be
tailored to suit individual preferences.  
After any changes have been made, they can
be saved to the FONT123 program permanent-
ly, or used only during the current ses-  
sion. The following items are reconfig-   
urable :                                  
                                          
(1) AUDIBLE ERROR -                       
    Sounds an alarm (in addition to a     
visual error message) when any error con- 
dition occurs.                            
                                          
(2) COLORS -                              
    Permits the alteration of all colors  
used in every display used in this pro-   
gram.  Selecting a particular screen item 
will pop up a color window from which a   
new color can be selected for that item,  
using the UP, DOWN, LEFT, and RIGHT keys. 
The ENTER key will select the highlighted 
color, while the ESCAPE key will discard  
the change.                               
                                          
(3) EDITOR CHARACTERS -                   
    This option allows the user to change 
the characters used to represent set and  
unset bits displayed in the editor window.
The edit window cursor also requires two  
additional characters to represent set and
unset bits which have the edit window     
cursor positioned over them.              
                                          
(4) FILES AND PATHS -                     
    There are three file PATHS (i.e., disk
+ directory + filename + extension) that  
the FONT123 program requires : the HELP   
FILE path (which contains the information 
you are reading), the INITIAL FONT FILE   
specification (used to supply matching    
filenames for the directory display), and 
the PROGRAM FILE path (where any changes  
you make to this program can be written). 
Specifying this option allows you to      
change any or all of these items, which   
may be necessary if you change this pro-  
gram's name or location.                  
                                          
(5) INITIAL DISPLAY CHARACTER -           
    Allows changing the first character   
displayed in the editor window when the   
FONT123 program is started.               
                                          
(6) INITIAL PREVIEW MODE -                
    Allows toggling the initial character 
preview mode either on or off, which gives
a side by side display of the editor char-
acter set with the currently active (dis- 
played) character set. See also (F8) under
Help.                                     
                                          
(7) RESTORE DEFAULTS -                    
    This option restores ALL configurable 
options to their default values.          
                                          
(8) SAVE OR ABORT CHANGES -               
    After changes are made, selecting this
option will allow the user to save or     
discard these changes.  If changes are to 
be saved, the user will be asked if the   
changes are to be saved to a file.  MAKING
YOUR CHANGES PERMANENT REQUIRES THAT THE  
CURRENT PROGRAM FILE PATH SPECIFIED UNDER 
CONFIGURATION OPTION 4 (FILES AND PATHS)  
IS CORRECT.                               
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
ALT-F1 - ASCII CHART    *
    POPS UP A CONVENIENT ASCII CHART FOR  
REFERENCE.                                
                                          
    At various points within FONT123, a   
chart of every ASCII character and its    
code is indispensable.  Pressing [ALT][F1]
AT ANY TIME will display a window of 32   
ASCII characters and their codes.  While  
this window is active, the user may press 
UP, DOWN, HOME, OR END to display the     
previous, next, first, or last 32 charac- 
ters, respectively. Pressing ESCAPE closes
the ASCII chart window and returns to the 
point where program execution was inter-  
rupted.                                   
ALT-F2 - PRINT CHARACTERS
     PRINTS CHARACTER REPRESENTATIONS ON  
GRAPHICS-COMPATIBLE PRINTERS.             
                                          
    The current editor font may be printed
on an IBM graphics-compatible printer by  
pressing [ALT][F2]. Once this option is   
selected, the user can print a specified  
range of characters on the printer, or    
send the output to a file. If a file is   
chosen for output, the user will be promp-
ted to provide a filename where the output
is to be sent. If a printer is selected   
for output, the user has the option of    
setting up the printer for output. If     
printer setup is requested, then the user 
will be prompted for the number of lines  
per page, the number of columns per line, 
and an optional setup string to send to   
the printer before any printing is begun. 
The setup string may be up to 100 charac- 
ters long and may contain any control     
sequences and codes necessary to configure
the printer to the desired state.         
                                          
                                          
                                          
                                          
                                          
                                          
                                          
ALT-F3 - GO TO DOS      *
    PROVIDES A DOS SHELL FOR EXECUTING DOS
COMMANDS WITHOUT DISTURBING THE CURRENT   
PROGRAM ENVIRONMENT.                      
                                          
    When running FONT123, you can return  
to DOS without exiting the program by     
pressing [ALT][F3]. This loads another    
copy of the DOS command processor (usually
COMMAND.COM) into memory. While this sec- 
ond command processor (or shell) is ac-   
tive, any commands which would be valid at
the regular DOS prompt (such as executable
files, batch files, or DOS commands) may  
be entered. Typing 'EXIT' at the command  
prompt will exit the shell and return you 
to the program. Note that if there is not 
enough memory to load the shell (or any   
commands entered at the command prompt),  
then the message 'Not enough memory' will 
be displayed. It is also advisable not to 
alter any files which are currently being 
used by FONT123.                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
COMMAND LINE OPTIONS    *
    PROVIDES SWITCHES THAT MAY BE USED ON 
THE DOS COMMAND LINE.                     
                                          
    Any or all of the following options   
may be placed on the DOS command line.    
The character "/"  may be substituted for 
"-" in any option, and any parameters     
listed in brackets are optional.  DO NOT  
include spaces (or brackets); they are    
provided here for legibility.             
                                          
-E [filename]                             
    Loads "filename" into the editor at   
startup.  If no filename is given, then   
the default ROM font is loaded.  All op-  
tions following this option on the command
line are ignored.                         
                                          
-H or -?                                  
    Brings up the on-line help facility.  
                                          
-I [table_number] [filename]              
    Installs font file "filename" to "ta- 
ble number".  Table number defaults to 0, 
filename defaults to ROM font.            
                                          
-L [table_number] [filename]              
                                          
    Loads font file "filename" into "table
number".  Defaults are as above. Unlike   
the -I option, the -L option does not     
switch you over to the new font; your cur-
rent font remains active.  If the new     
font differs in size from your current    
font, then your current font's size will  
be set to the new font's size, even though
the new font is not active. For this rea- 
son, it is advisable to load multiple     
fonts in order, from the smallest size to 
the largest, to avoid truncating the larg-
er-sized fonts.                           
                                          
-S [table_number]                         
    Switches to another table number.  Un-
like the Switch [F6] feature in the edi-  
tor, the command line version will let you
switch to ANY table, regardless of whether
it has been loaded with a character set or
not. If you inadvertently switch to an    
empty table, typing (BUT NOT SEEING!)     
font123 -i will restore the default ROM   
set to the display.                       
                                          
Examples :                                
                                          
(1) FONT123 -i1thin16.f16                 
    Installs the file "thin16.f16" to     
table 1.                                  
                                          
                                          
(2) FONT123 -s                            
    Switches to table 0 and uses whatever 
is stored there as the current font.      
                                          
(3) FONT123 /h /h -L1 -s1 -emyfont.f12  OR
    FONT123 -h -h -I1 -emyfont.f12        
    Calls the on-line help twice, then    
loads the default rom character set to    
table 1, makes that set active, and starts
the editor by loading the font file       
"myfont.f12".                             
                                          
                                          
                                          
                                          
DATA ENTRY              *
    DATA TYPES AND ENTRY METHODS USED IN  
THIS PROGRAM.                             
                                          
    There are four basic types of data    
that can be entered into this program.    
These include :                           
                                          
(1) FILENAMES -                           
                                          
Filenames are used to load and save font  
files created within this program.  A     
filename may be any valid MS-DOS filename.
Each file specification consists of four  
OPTIONAL parts : a DRIVE specifier (de-   
faults to the current drive), DIRECTORY   
(defaults to the current directory), FILE-
NAME (defaults to the wildcard character  
"*"), and EXTENSION (defaults to ".F*").  
Using wildcards will call up a directory  
display of all matching file specifica-   
tions, which can then be selected by posi-
tioning a highlight bar over the filename 
and pressing [ENTER].  The current direc- 
tory can be changed by highlighting a     
listed directory (enclosed in brackets),  
and pressing [ENTER].  Note that wildcard 
characters are also legal filenames when  
used with the Save [F4] option; you will  
first be asked if you want to overwrite   
the file.  Also note that only file exten-
sions beginning with ".F" are legal, and  
that the last 2 characters of the exten-  
sion denote the font height.  When saving 
files, FONT123 will automatically append  
the correct extension to the filename.    
There are also three RESERVED filenames   
which are provided to gain access to the  
ROM fonts via command line options (see   
under HELP).  These are F8x8, F14x8, and  
F16x8, which denote the ROM fonts with    
sizes indicated by the first number.      
                                          
                                          
                                          
                                          
(2) CHARACTERS -                          
                                          
    When prompted for a character during  
any operation, the user can respond in one
of three ways.  The first method is to    
enter the decimal ASCII code of the char- 
acter (a number between 0 and 255) and    
then press ENTER.  The second method is to
enter the hexidecimal code of the charac- 
ter, preceeded by an "H", which includes  
numbers between H00 and HFF.  The third   
method is to enter the character directly 
without subsequently pressing ENTER.  This
method cannot be used for the CHARACTERS  
'0'-'9' (ASCII codes 48-57) and 'H'.      
                                          
(3) NUMBERS -                             
                                          
    Numbers (specifying repeat counts for 
the editing functions, etc.) are entered  
just as characters are (above), but di-   
rectly entering a character (such as 'A'  
for a count of 65) is not allowed.        
                                          
(4) RANGES -                              
                                          
    Ranges denote a range of characters   
specified by entering a starting character
and an ending character.  If the starting 
character is greater than the ending char-
acter, then the two will be switched.  Any
single character (or character range)     
which is not contained within the ASCII   
set of 0-255 generates a RANGE ERROR.     
                                          
    For a list of the editing keys which  
can be used during data entry, see Editing
Keys under Help.                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
EDITING KEYS            *
    SPECIAL FUNCTION KEYS WHICH CAN BE    
USED DURING DATA ENTRY, OR WHILE WORKING  
IN THE EDITOR, DIRECTORY OR HELP DISPLAYS.
                                          
The following keys may be used while      
EDITING CHARACTERS :                      
                                          
[Up-Arrow]                                
    Move the editing cursor up 1 line     
                                          
[Down-Arrow]                              
    Move the editing cursor down 1 line   
                                          
                                          
                                          
[Left-Arrow]                              
    Move the editing cursor left 1 posi-  
tion                                      
                                          
[Right-Arrow]                             
    Move the editing cursor right 1 posi- 
tion                                      
                                          
[Page-Up]                                 
    Position to the previous character in 
the editor                                
                                          
[Page-Down]                               
    Position to the next character in the 
editor                                    
[Ctrl-Left]                               
    Position the editing cursor to the    
leftmost column                           
                                          
[Ctrl-Right]                              
    Position the editing cursor to the    
rightmost column                          
                                          
[Ctrl-Page-Up] or [Home]                  
    Position to character with ASCII code 
of 0                                      
                                          
[Ctrl-Page-Down] or [End]                 
    Position to character with ASCII code 
of 255                                    
[F7]                                      
    Position to user-specified character  
in the editor (see Goto [F7])             
                                          
[Enter]                                   
    Toggle between MOVE, DRAW, and ERASE  
modes while editing                       
                                          
[Shift-Up,Down,Left,Right]                
    Temporarily put edit cursor in MOVE   
mode; allows cursor movement without dis- 
turbing the current character             
                                          
[Escape] or [Ctrl-C]                      
    Cancel the current operation or quit  
the program (after user confirmation)     
                                          
The following keys may be used while      
ENTERING DATA :                           
                                          
[Left-Arrow]                              
    Move left 1 character                 
                                          
[Right-Arrow]                             
    Move right 1 character                
                                          
[Home]                                    
    Position the cursor to the first char-
acter                                     
                                          
[Ctrl-Right] or [End]                     
    Position the cursor to the last char- 
acter                                     
                                          
[Backspace]                               
    Erase character to left of cursor if  
positioned past last character; otherwise,
move left 1 character                     
                                          
[Ctrl-Backspace] or [Ctrl-Left]           
    Erase entire line if cursor is posi-  
tioned past last character; otherwise,    
position cursor to first character        
                                          
                                          
[Insert]                                  
    Toggle insert mode on/off             
                                          
[Delete]                                  
    Delete character under cursor         
                                          
[Enter]                                   
    Conclude data entry                   
                                          
[Escape] or [Ctrl-C]                      
    Cancel data entry and abort operation 
                                          
The following keys may be used while in   
the DIRECTORY DISPLAY (which is activated 
                                          
by specifying wildcards in filenames, when
a filename is requested for input) :      
                                          
[Left-Arrow]                              
    Move left 1 filename                  
                                          
[Right-Arrow]                             
    Move right 1 filename                 
                                          
[Up-Arrow]                                
    Move up 1 filename                    
                                          
[Down-Arrow]                              
    Move down 1 filename                  
                                          
[Ctrl-Page-Up] or [Home]                  
    Move to first filename                
                                          
[Ctrl-Page-Down] or [End]                 
    Move to last filename                 
                                          
[Page-Up]                                 
    Move up 1 full page of filenames      
                                          
[Page-Down]                               
    Move down 1 full page of filenames    
                                          
[Escape] or [Ctrl-C]                      
    Cancel directory display and abort    
current file operation                    
[Enter]                                   
    If a filename is highlighted, use that
filename for the requested file operation.
If a directory (in brackets) is highlight-
ed, change to that directory.  In either  
case, the current directory will be used  
for the next file operation unless explic-
itly overridden with a user-supplied di-  
rectory path during the next file opera-  
tion.                                     
                                          
The following keys may be used while in   
the HELP DISPLAY :                        
                                          
                                          
[Up-Arrow]                                
    Select previous topic                 
                                          
[Down-Arrow]                              
    Select next topic                     
                                          
[Page-Up]                                 
    Select previous page of current topic 
                                          
[Page-Down]                               
    Select next page of current topic     
                                          
[Home]                                    
    Select first topic                    
                                          
[End]                                     
    Select last topic                     
                                          
[Escape]                                  
    Cancel Help utility                   
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
TECHNICAL NOTES         *
    INFORMATION ON THE OPERATION OF THIS
PROGRAM.                                  













                               